package com.intct.func;

import org.apache.flink.table.functions.ScalarFunction;
import org.apache.flink.types.RowKind;

/**
 * @author gufg
 * @since 2025-10-21 16:36
 */
public class ValuesFunction extends ScalarFunction{
    public Double eval(String op, Double values) {
        // 是删除和修改前类型，则需要撤回之前值(将原值修改为负数)
        if (op.equals(RowKind.UPDATE_BEFORE.shortString())
                || op.equals(RowKind.DELETE.shortString())) {
            // 将原值修改为负数
            return values * -1;
        }
        return values;
    }

    public Integer eval(String op) {
        // 是删除和修改前类型，则需要撤回之前值(将原值修改为负数)
        if (op.equals(RowKind.UPDATE_BEFORE.shortString())
                || op.equals(RowKind.DELETE.shortString())) {
            // 将原值修改为负数
            return -1;
        }
        return 1;
    }
}
